//
//  AliOSSConfig.swift
//  Swift-Codedase
//
//  Created by xyanl on 2023/7/21.
//

import UIKit

class AliOSSConfig: NSObject {
    /// AccessKey
    var accessKey: String!
    /// SecretKey
    var secretKey: String!
    /// 与OSS文件夹名对应
    var bucketName: String!
    /// 设置 EndPoint
    var endpoint: String!
    /// 子文件夹路径
    var folderName: String!
    
    /// 公司自己的域名，如果没有公司域名，默认使用阿里云存储的域名
    var domainName: String?
    /// 阿里云存储的域名，默认
    var aliDomainName: String {
        get {
            let endPointArr = endpoint.components(separatedBy: "//")
            let path = "\(endPointArr.first!)//\(bucketName!).\(endPointArr.last!)"
            return path
        }
    }
    
    // MARK: - STS 管理器对象 使用的
    
    /// SecurityToken
    var securityToken: String!
    /// token 的超时时间(STS中用到)
    var expirationTimeInGMTFormat: String!
    
}

extension AliOSSConfig {
    // 默认存储路径, uploads/年月/日
    func defaultPath() -> String {
        let ym = Date.sg.timeString(formatter: "yyyyMM")
        let d = Date.sg.timeString(formatter: "dd")
        return "uploads/" + ym + "/" + d
    }
}
